This invention relates generally to data processing systems and more particularly to a method and apparatus for providing communications among a plurality of controllers within a storage system to allow efficient management of the storage system.
As it is known in the art, data processing systems generally include several types of processing resources which may be interconnected by one or more communication links. In addition to the processor resources, data processing systems also generally include some sort of memory which is typically shared amongst the processor resources. As is common in many computer systems these processing resources may act independently to perform different processing tasks. Since each of the processing resources may act independently there may arise a situation where there is contention for the shared memory resources within the system.
One example of a data processing system which includes several processing resources coupled to a common memory over one or more busses or data storage systems such as the Symmetrix family of data storage systems manufactured by EMC Corporation. These storage systems are typically capable of being coupled to several different host computers at any given time and provide storage services to each of those computers independently. In order to support transactions between a plurality of host computers simultaneously the storage system includes several host controllers for managing the communication between the host computer and the storage system. In addition, the Symmetrix storage systems mentioned above include several disk/tape controllers which are each responsible for managing one or more arrays of disk/tape type storage devices. Each of the controllers in the above described storage system may be a single or multi-processor computer.
In addition to the host controllers and disk/tape controllers mentioned above the storage subsystem may also contain a very large shared memory which is used to manage the transfer of data from the host computers to the storage devices as well a to manage the transfer of data from the storage devices to the host computer.
In the storage systems described above, a separate service processor may be provided in order to provide monitoring and maintenance functions across all elements of the system. In order to provide these maintenance and monitoring functions, it is necessary for the service processor to have a communications link between it and all controllers on the system. Prior art storage systems typically may have utilized the same buses for communications that are used to provide storage system services. It is apparent that any communication between the service processor and the controllers using the scheme would be done at the expense of storage system performance.
Other methods of providing communication between the controllers and the service processor may have included the use of a dedicated serial bus. The serial communications paths of the prior art suffer from several drawbacks. One drawback is that the communications are not secure (or robust). For example, if during communications, a byte of data is lost, there is an indication that the byte is lost. However, the indication must be checked for manually (i.e. by the operating software through a specific call added by the programmer). This may result in undetected errors in communication. Secondly serial communications are relatively slow. Lastly, serial communications with the individual controllers causes a severe performance impact on the target controller. That is, when the service processor is communicating with a storage controller, the performance of that controller in servicing storage requests is severely impacted. This impact may then cause degraded performance of the attached host computer, especially for such applications that require the seamless delivery of video data from the storage system.
It would be advantageous therefore to provide a data storage system having an efficient communications means for monitoring and maintaining the associated storage system controllers.
In accordance with the present invention, a storage system is provided which includes an internal local area network. The local area network is achieved by providing a separate Ethernet communications link, including an Etherne hub as well as Ethernet hardware on each host and disk/tape controller within the storage system. Each host controller and disk/tape controller is coupled to the Ethernet hub via the Ethernet interface hardware. Also coupled to the Ethernet bus is a service processor. The service processor is alos coupled to the Ethernet bus via the Ethernet hub. All communications between the service processor and the controllers occurs over the Ethernet bus. With such an arrangement, communications with the storage system controllers may take place without material impact on the operation of the storage system in providing storage services to the attached host computers.